<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        async function main() {
            // 1.如果返回值是一个非Promise类型的数据，则返回的是一个正确的promise对象，值就是返回值
            // 2.返回的是一个promise对象，则返回的就是这个对象本身
            // 3.如果返回的是一个异常，则返回一个错误的promise对象，值为异常的值

            let p = new Promise((resolve,reject)=>{
                // resolve('ok')
                reject('err')
            })
            // 右侧为promise的情况,会返回一个promise对象
            // let res = await p
            try {
                // 如果promise是一个失败的promise对象则需要try catch来捕获异常
                let res2 = await p
            } catch (error) {
                console.error(error)
            }
        }
        main()
        let result = main()

        console.log(result)
    </script>
</body>
</html>